#include<stdio.h>
struct student
{
	int score;
	char name[10];
};

void print(int n)  //显示直方图
{
	while(n--)
		printf("*");
	printf("\n");
}
int main()
{
	int t,num,i=0,fail=0;//fail不及格人数
	int j=0,g=0,m=0,h=0;//j为60-79的人数
	/*
	   g为90-100的人数
	   m为70-80的人数
	   h为80-90的人数
	   */
	struct student stu[30];//定义30个结构体
	void print(int);
	do{
		printf("输入人数:");
		scanf("%d",&num);
	}while(num>30);
	t=num;
	while(num--)
	{
		printf("输入名字:");
		scanf("%s",&stu[i].name);
		printf("输入成绩:");
		scanf("%d",&stu[i].score);
		if(stu[i].score<0){num++;break;}
		if(stu[i].score<60)fail++;
		if(stu[i].score>=60&&stu[i].score<70)j++;
		if(stu[i].score>=70&&stu[i].score<80)m++;
		if(stu[i].score>=80&&stu[i].score<90)h++;
		if(stu[i].score>=90&&stu[i].score<=100)g++;
		i++;
	}
	printf("不及格人数:%d\n",fail);
	printf("不及格名单:");
	for(i=0;i<t;i++){
		if(stu[i].score<60)printf("%s\n",stu[i].name);//输出不及格的名单
	}
	printf("分数段   学生人数  图形\n");
	printf("<60      %d\(%.2lf\%%\)  ",fail,(fail*1.0)/(t*1.0)*100);	
	print(fail);

	printf("60-69    %d\(%.2lf\%%\)  ",j,(j*1.0)/(t*1.0)*100);
	print(j);

	printf("70-79    %d\(%.2lf\%%\)  ",m,(m*1.0)/(t*1.0)*100);	
	print(m);

	printf("80-89    %d\(%.2lf\%%\)  ",h,(h*1.0)/(t*1.0)*100);	
	print(h);

	printf("90-100   %d\(%.2lf\%%\)  ",g,(g*1.0)/(t*1.0)*100);	
	print(g);
}